import request from '@/utils/request';

/**
 * @fileoverview
 * 该文件包含与教务人员操作相关的一些请求函数
 * @module AccountOperations
 */

// 定义API的基础路径
const BASE_URL = '/admin';

/**
 * 管理员审核学生信息的请求
 * @param data
 * @returns {*}
 */
export function getStudentAuditing(data) {
  return request({
    url: `${BASE_URL}/getStudentAuditing`,
    method: 'post',
    data
  });
}

/**
 * 管理员审核教师信息的请求
 * @param data
 * @returns {*}
 */
export function getTeacherAuditing(data) {
  return request({
    url: `${BASE_URL}/getTeacherAuditing`,
    method: 'post',
    data
  });
}

/**
 * 管理员获取所有待选课程信息的请求
 * @param data
 * @returns {*}
 */
export function getEnrollment(data) {
  return request({
    url: `${BASE_URL}/getEnrollmentList`,
    method: 'post',
    data
  });
}

/**
 * 获取所有课程信息列表
 * @param data
 * @returns {*}
 */
export function getCourseList(data) {
  return request({
    url: `${BASE_URL}/getCourseList`,
    method: 'post',
    data
  });
}

/**
 * 更新课程信息
 * @param data
 * @returns {*}
 */
export function updateCourse(data) {
  return request({
    url: `${BASE_URL}/updateCourse`,
    method: 'post',
    data
  });
}

/**
 * 添加课程信息
 * @param data
 * @returns {*}
 */
export function addCourse(data) {
  return request({
    url: `${BASE_URL}/addCourse`,
    method: 'post',
    data
  });
}
/**
 * 获取所有学生信息
 * @param data
 * @returns {*}
 */
export function getStudentList(data) {
  return request({
    url: `${BASE_URL}/getStudentList`,
    method: 'post',
    data
  });
}

/**
 * 获取所有教师信息
 * @param data
 * @returns {*}
 */
export function getTeacherList(data) {
  return request({
    url: `${BASE_URL}/getTeacherList`,
    method: 'post',
    data
  });
}

/**
 * 教务人员对某个课程进行结课操作
 * @param data
 * @returns {*}
 */
export function adminEndCurse(data) {
  return request({
    url: `${BASE_URL}/adminEndCourse`,
    method: 'post',
    data
  });
}

/**
 * 教务人员删除某个课程信息
 * @param data
 * @returns {*}
 */
export function deleteCurse(data) {
  return request({
    url: `${BASE_URL}/adminDeleteCourse`,
    method: 'post',
    data
  });
}

/**
 * 教务人员批量删除课程信息
 * @param data
 * @returns {*}
 */
export function deleteCurseOnList(data) {
  return request({
    url: `${BASE_URL}/deleteCurseOnList`,
    method: 'post',
    data
  });
}

/**
 * 教务人员获取所有学生的所有选课记录
 * @param data
 * @returns {*}
 */
export function getStudentSelectRecordList(data) {
  return request({
    url: `${BASE_URL}/getStudentSelectRecordList`,
    method: 'post',
    data
  });
}

/**
 * 教务人员获取课程评价统计数据
 * @param data
 * @returns {*}
 */
export function getCourseCommentStatistic(data) {
  return request({
    url: `${BASE_URL}/statistics/average-ratings`,
    method: 'post',
    data
  });
}

/**
 * 教务人员获取选课统计数据
 * @param data
 * @returns {*}
 */
export function getCourseSelectStatistic(data) {
  return request({
    url: `${BASE_URL}/statistics/select-course`,
    method: 'post',
    data
  });
}

/**
 * 教务人员获取教师课程评价统计数据
 * @param data
 * @returns {*}
 */
export function getTeacherCourseCommentStatistic(data) {
  return request({
    url: `${BASE_URL}/statistics/teacher-course-average-ratings`,
    method: 'post',
    data
  });
}

/**
 * 教务人员通过某个老师的注册信息
 * @param data
 * @returns {*}
 */
export function passTeacherInfo(data) {
  return request({
    url: `${BASE_URL}/passTeacherInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员删除某个老师的信息
 * @param data
 * @returns {*}
 */
export function deleteTeacherInfo(data) {
  return request({
    url: `${BASE_URL}/deleteTeacherInfo`,
    method: 'post',
    data
  });
}


/**
 * 教务人员通过某个学生的注册信息
 * @param data
 * @returns {*}
 */
export function passStudentInfo(data) {
  return request({
    url: `${BASE_URL}/passStudentInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员删除某个学生的信息
 * @param data
 * @returns {*}
 */
export function deleteStudentInfo(data) {
  return request({
    url: `${BASE_URL}/deleteStudentInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员批量删除学生的信息
 * @param data
 * @returns {*}
 */
export function deleteStudentOnList(data) {
  return request({
    url: `${BASE_URL}/deleteStudentOnList`,
    method: 'post',
    data
  });
}

/**
 * 教务人员批量删除老师的信息
 * @param data
 * @returns {*}
 */
export function deleteTeacherOnList(data) {
  return request({
    url: `${BASE_URL}/deleteTeacherOnList`,
    method: 'post',
    data
  });
}

/**
 * 教务人员删除某个学生选课信息
 * @param data
 * @returns {*}
 */
export function deleteStudentSelectInfo(data) {
  return request({
    url: `${BASE_URL}/deleteStudentSelectInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员批量结课
 * @param data
 * @returns {*}
 */
export function deleteStudentSelectInfoOnList(data) {
  return request({
    url: `${BASE_URL}/deleteStudentSelectInfoOnList`,
    method: 'post',
    data
  });
}


/**
 * 教务人员添加学生信息
 * @param data
 * @returns {*}
 */
export function addStudentInfo(data) {
  return request({
    url: `${BASE_URL}/addStudentInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员添加老师的信息
 * @param data
 * @returns {*}
 */
export function addTeacherInfo(data) {
  return request({
    url: `${BASE_URL}/addTeacherInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员编辑学生的信息
 * @param data
 * @returns {*}
 */
export function editStudentInfo(data) {
  return request({
    url: `${BASE_URL}/editStudentInfo`,
    method: 'post',
    data
  });
}

/**
 * 教务人员编辑老师的信息
 * @param data
 * @returns {*}
 */
export function editTeacherInfo(data) {
  return request({
    url: `${BASE_URL}/editTeacherInfo`,
    method: 'post',
    data
  });
}
  /**
   * 教务人员批量结束课程
   * @param data
   * @returns {*}
   */
export function endEnrollmentOnList(data){
    return request({
      url: `${BASE_URL}/endEnrollmentOnList`,
      method: 'post',
      data
    });
}

export function getTeacherIdWithName(){
  return request({
    url: `${BASE_URL}/getTeacherIdWithName`,
    method: 'post'
  });
}

export function getCourseIdWithName(){
  return request({
    url: `${BASE_URL}/getCourseIdWithName`,
    method: 'post'
  });
}

export function addSelectCourse(data) {
  return request({
    url: `${BASE_URL}/addSelectCourse`,
    method: 'post',
    data
  });
}

export function updateSelectCourse(data) {
  return request({
    url: `${BASE_URL}/updateSelectCourse`,
    method: 'post',
    data
  });
}

export function adminStopSelectCourse(data) {
  return request({
    url: `${BASE_URL}/adminStopSelectCourse`,
    method: 'post',
    data
  });
}
